package Server;

/**
 *
 * Class description goes here.
 *
 * @author Kamil Gajowy
 */
public final class TaskIDGetter {

    // należy zwrócić uwagę na użycie słowa kluczowego volatile
    private static volatile TaskIDGetter instance = null;
    private int ID = 0;

    public static TaskIDGetter getInstance() {
        if (instance == null) {
            synchronized (TaskIDGetter.class) {
                if (instance == null) {
                    instance = new TaskIDGetter();
                }
            }
        }
        return instance;
    }

    // żeby uniknąć automatycznego tworzenia domyślnego, publicznego, bezargumentowego konstruktora
    private TaskIDGetter() {
    }

    public void incrementID(){
        ++ID;
    }

    public int getID(){
        return ID;
    }


}